table.no-style
{
    border:          none;
    border-collapse: collapse;
    padding:         0;
    margin:          0;
    background:      none;
}

table.full
{
    width: 100%;
}

table.no-style td, table.no-style th
{
    background: none;
    border:     none;
}

table.datatable
{
    border:                1px solid #aaa;
    border-collapse:       separate;
    border-spacing:        0;
    -moz-border-radius:    5px;
    -webkit-border-radius: 5px;
    -khtml-border-radius:  5px;
    border-radius:         5px;
}

table.datatable thead th
{
    background:      #f7f7f7;
    background:      -webkit-gradient(linear, left top, left bottom, from(#f7f7f7), to(#e1e1e1));
    background:      -moz-linear-gradient(top, #f7f7f7, #e1e1e1);
    -pie-background: linear-gradient(top, #f7f7f7, #e1e1e1);
    border-bottom:   1px solid #aaa;
    color:           #333;
    text-shadow:     0 1px 0 #fff;
    position:        relative;
}

table.datatable thead th:not(:last-child)
{
    border-right: 1px solid #aaa;
}

table.datatable thead th:not(:first-child)
{
    border-left: 1px solid #fff;
}

table.datatable thead th:first-child
{
    -moz-border-radius-topleft:     5px;
    -webkit-border-top-left-radius: 5px;
    -khtml-border-top-left-radius:  5px;
    border-radius:                  5px 0 0 0;
}

table.datatable thead th:last-child
{
    -moz-border-radius-topright:     5px;
    -webkit-border-top-right-radius: 5px;
    -khtml-border-top-right-radius:  5px;
    border-radius:                   0 5px 0 0;
}

table.datatable tbody tr:last-child td:first-child
{
    -moz-border-radius-bottomleft:     5px;
    -webkit-border-bottom-left-radius: 5px;
    -khtml-border-bottom-left-radius:  5px;
    border-radius:                     0 0 0 5px;
}

table.datatable tbody tr:last-child td:last-child
{
    -moz-border-radius-bottomright:     5px;
    -webkit-border-bottom-right-radius: 5px;
    -khtml-border-bottom-right-radius:  5px;
    border-radius:                      0 0 5px 0;
}

table.datatable.no-border thead th:first-child, table.datatable.no-border thead th:last-child, table.datatable.no-border tbody tr:last-child td:first-child, table.datatable.no-border tbody tr:last-child td:last-child
{
    -moz-border-radius:    0 !important;
    -webkit-border-radius: 0 !important;
    -khtml-border-radius:  0 !important;
    border-radius:         0 !important;
}

table.datatable th, table.datatable td
{
    padding:        5px;
    vertical-align: middle;
}

table.datatable tbody tr:nth-child(odd) td
{
    background: #f9f9f9;
}

table.datatable tbody td:not(:last-child)
{
    border-right: 1px solid #eee;
}

table.datatable.sortable
{
    table-layout: fixed;
}

table.datatable.sortable td.column-selected
{
    background: #ffffc0 !important;
}

table.datatable.sortable th a
{
    display: block;
}

table.datatable.sortable th a.sort-asc
{
    background: transparent url(../images/arrow-up.png) no-repeat right;
}

table.datatable.sortable th a.sort-desc
{
    background: transparent url(../images/arrow-down.png) no-repeat right;
}

table.datatable.selectable tbody tr.hover td, table.datatable.selectable tbody tr.selected td
{
    background: #ffffc0;
}

table.datatable tfoot tr td
{
    border-top: 1px solid #e1e1e1;
    background: #f1f1f1;
}

table.datatable tbody tr.even
{
    background: #F8F8F8;
}

table.datatable tbody tr.odd
{
    background: #E5F1F4;
}

table.datatable tbody tr:hover
{
    background: #ECFBD4;
}

table.datatable tbody tr:selected
{
    background: #CECEC3;
}